package br.com.cinesystem.entity;

import java.util.List;

public class Filme{

    private Integer idFilme;
    private String titulo;
    private String diretor;
    private Integer duracao;
    private String idioma;
    private String sinopse;
    private String classificacao;
    private int situacao;
    private Genero genero;
    private List<Ator> atorList;
    private List<Sessao> sessaoList;
    private List<Cinema> cinemaList;

    public Filme() {
    }

    public Filme(Integer idFilme) {
        this.idFilme = idFilme;
    }

    public Filme(Integer idFilme, String titulo) {
        this.idFilme = idFilme;
        this.titulo = titulo;
    }

    public Filme(Integer idFilme, String titulo, String diretor, Integer duracao, String idioma, String sinopse, String classificacao, int situacao) {
        this.idFilme = idFilme;
        this.titulo = titulo;
        this.diretor = diretor;
        this.duracao = duracao;
        this.idioma = idioma;
        this.sinopse = sinopse;
        this.classificacao = classificacao;
        this.situacao = situacao;
    }

    public Filme(String titulo, String diretor, Integer duracao, String idioma, String sinopse, String classificacao, Genero genero) {
        this.titulo = titulo;
        this.diretor = diretor;
        this.duracao = duracao;
        this.idioma = idioma;
        this.sinopse = sinopse;
        this.classificacao = classificacao;
        this.genero = genero;
    }

    public Filme(Integer idFilme, String titulo, Integer duracao) {
        this.idFilme = idFilme;
        this.titulo = titulo;
        this.duracao = duracao;
    }

    public Filme(Integer idFilme, String titulo, String diretor, Integer duracao, String idioma, String sinopse, String classificacao, Genero genero, List<Ator> atorList, List<Cinema> cinemaList) {
        this.idFilme = idFilme;
        this.titulo = titulo;
        this.diretor = diretor;
        this.duracao = duracao;
        this.idioma = idioma;
        this.sinopse = sinopse;
        this.classificacao = classificacao;
        this.genero = genero;
        this.atorList = atorList;
        this.cinemaList = cinemaList;
    }

    public Filme(Integer idFilme, List<Cinema> cinemaList) {
        this.idFilme = idFilme;
        this.cinemaList = cinemaList;
    }
    

    public List<Cinema> getCinemaList() {
        return cinemaList;
    }

    public void setCinemaList(List<Cinema> cinemaList) {
        this.cinemaList = cinemaList;
    }

    public Filme(List<Ator> atorList) {        
        this.atorList = atorList;
    }
    

    public Integer getIdFilme() {
        return idFilme;
    }

    public void setIdFilme(Integer idFilme) {
        this.idFilme = idFilme;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getDiretor() {
        return diretor;
    }

    public void setDiretor(String diretor) {
        this.diretor = diretor;
    }

    public Integer getDuracao() {
        return duracao;
    }

    public void setDuracao(Integer duracao) {
        this.duracao = duracao;
    }

    public String getIdioma() {
        return idioma;
    }

    public void setIdioma(String idioma) {
        this.idioma = idioma;
    }

    public String getSinopse() {
        return sinopse;
    }

    public void setSinopse(String sinopse) {
        this.sinopse = sinopse;
    }

    public String getClassificacao() {
        return classificacao;
    }

    public void setClassificacao(String classificacao) {
        this.classificacao = classificacao;
    }

    public int getSituacao() {
        return situacao;
    }

    public void setSituacao(int situacao) {
        this.situacao = situacao;
    }

    public Genero getGenero() {
        return genero;
    }

    public void setGenero(Genero genero) {
        this.genero = genero;
    }

    public List<Ator> getAtorList() {
        return atorList;
    }

    public void setAtorList(List<Ator> atorList) {
        this.atorList = atorList;
    }

    public List<Sessao> getSessaoList() {
        return sessaoList;
    }

    public void setSessaoList(List<Sessao> sessaoList) {
        this.sessaoList = sessaoList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idFilme != null ? idFilme.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Filme)) {
            return false;
        }
        Filme other = (Filme) object;
        if ((this.idFilme == null && other.idFilme != null) || (this.idFilme != null && !this.idFilme.equals(other.idFilme))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entity.Filme[idFilme=" + idFilme + "]";
    }

}
